/***Intro***/ GUI WindowManager Window DialogManager Dialog ControlManager Control MenuManager Menu
Intro(2g)

【名前】
	Intro - Toolbox: GUI関連（man2g.hlp）

【概要】

【Inside Macintosh】
								<<キーワード>>
	Window Manager						WindowManager
		I-267
		IV-49	Zoom の記述
		V-197	カラー,マルチスクリーン対応

	Dialog Manager						DialogManager
		I-397
		IV-59	HideDItem(), ShowDItem(), FindDItem(),
						UpdtDialog() の追加
		V-277	カラー対応
		VI-3-19	アイテムリストの操作(追加,短縮)

	Control Manager						ControlManager
		I-309
		IV-53	UpdtControl(), Draw1Control() の追加
		V-216	カラー対応
		VI-3-16	ポップアップメニューコントロール

	Menu Manager						MenuManager
		I-339
		IV-55	InsMenuItem(), DelMenuItem() の追加
		V-225	階層メニュー, ポップアップメニュー, カラー対応

	Layer Manager						LayerManager
		InsideMac には記述がない

【関連項目】
	QuickDraw(2q)
	TextEdit(2t)

【ヘッダー】
	Windows.h
	Dialogs.h
	Controls.h
	Menus.h
	Layers.h (Apple からは提供されていない)
/***WindowRecord***/ WindowPeek CWindowRecord CWindowPeek WinCTab WCTabPtr WCTabHandle WStateData WStateDataPtr WStateDataHandle WindowManager
WindowRecord(2g)

【名前】
	WindowRecord  - データタイプ
	CWindowRecord - データタイプ
	WStateData    - データタイプ
	WinCTab	      - データタイプ

【形式】
	WindowRecord と CWindowRecord の識別方法
		((CGrafPort*)port)->portVersion の上位 2bit がオンの場合カラー

	■WindowRecord	I-276
	  WindowRecord
		GrafPort	port;
		short		windowKind;
		Boolean		visible;
		Boolean		hilited;
		Boolean		goAwayFlag;
		Boolean		spareFlag;	Zoom で使用される
		RgnHandle	strucRgn;
		RgnHandle	contRgn;
		RgnHandle	updateRgn;
		Handle		windowDefProc;
		Handle		dataHandle;	Zoom 時は、WStateDataが入る
		StringHandle	titleHandle;
		short		titleWidth;
		ControlHandle	controlList;
		WindowRecord	*nextWindow;
		PicHandle	windowPic;
		long		refCon;
	  WindowPeek	WindowRecord *

	■CWindowRecord	??
	  CWindowRecord
		CGrafPort	port;
		short		windowKind;
		Boolean		visible;
		Boolean		hilited;
		Boolean		goAwayFlag;
		Boolean		spareFlag;
		RgnHandle	strucRgn;
		RgnHandle	contRgn;
		RgnHandle	updateRgn;
		Handle		windowDefProc;
		Handle		dataHandle;
		StringHandle	titleHandle;
		short		titleWidth;
		ControlHandle	controlList;
		CWindowRecord	*nextWindow;
		PicHandle	windowPic;
		long		refCon;
	  CWindowPeek	CWindowRecord *

	■WStateData	IV-49
	  ズームのためのデータ
	  WStateData
		Rect	userState;
		Rect	stdState;
	  WStateDataPtr		WStateData *
	  WStateDataHandle	WStateData **

	■WinCTab	V-202
	  WinCTab
		long	wCSeed;
		short	wCReserved;
		short	ctSize;
		ColorSpec ctTable[5];
	  WCTabPtr	WinCTab *
	  WCTabHandle	WinCTab **
/***InitWindows***/ InitMenus InitDialogs ResumeProcPtr WindowManager
InitWindows(2g)

【名前】
	InitWindows - ウインドウマネージャの初期化
	InitMenus   - メニューマネージャの初期化
	InitDialogs - ダイアログマネージャの初期化

【書式】
	■InitWindows	I-281; V-208
	■InitMenus	I-351; V-242
	■InitDialogs	I-411

	void	InitWindows(void);
		  先立って以下を呼び出してください
			InitGraf
			InitFonts

	void	InitMenus(void);
		  先立って以下を呼び出してください
			InitGraf
			InitFonts
			InitWindows

	void	InitDialogs(ResumeProcPtr resumeProc);
		  先立って以下を呼び出してください
			InitGraf
			InitFonts
			InitWindows
			InitMenus
			TEInit

	■ResumeProcPtr
	  pascal void (*ResumeProcPtr)(void);
/***GetWMgrPort***/ GetCWMgrPort SetWinColor GetAuxWin AuxWinRec AuxWinPtr AuxWinHandle WindowManager
GetWMgrPort(2g)

【名前】
	GetWMgrPort  - 
	GetCWMgrPort -
	SetWinColor  -
	GetAuxWin    -
	AuxWinRec    - データタイプ

【書式】
	■GetWMgrPort	I-282
	■GetCWMgrPort	V-205, 210
	■SetWinColor	V-207
	■GetAuxWin	V-207

	void	GetWMgrPort(GrafPtr *wPort);

	void	GetCWMgrPort(CGrafPtr *wMgrCPort);

	void	SetWinColor(WindowPtr theWindow, WCTabHandle newColorTable);

	Boolean	GetAuxWin(WindowPtr theWindow, AuxWinHandle *awHndl);


	■AuxWinRec	V-201

	  AuxWinRec
		struct	AuxWinRec **awNext;
		WindowPtr	awOwner;
		CTabHandle	awCTable;
		Handle		dialogCItem;
		long		awFlags;
		CTabHandle	awReserved;
		long		awRefCon;
	  AuxWinPtr	AuxWinRec *
	  AuxWinHandle	AuxWinRec **
/***NewWindow***/ GetNewWindow CloseWindow DisposeWindow NewCWindow GetNewCWindow GetWVariant WindowManager
NewWindow(2g)

【名前】
	NewWindow     - 新しいウインドウの作成
	GetNewWindow  - リソース('WIND')からウインドウを読み込む
	CloseWindow   - ウインドウを消去＆メモリ解放(windowPtr は解放しない)
	DisposeWindow - ウインドウを消去＆メモリ解放
	NewCWindow    -
	GetNewCWindow -
	GetWVariant   -

【書式】
	■NewWindow	I-282
	■GetNewWindow	I-283
	■CloseWindow	I-283
	■DisposeWindow	I-284
	■NewCWindow	V-207
	■GetNewCWindow	V-207
	■GetWVariant	V-208

	ウインドウタイプ（システム標準 wind-proc）
	     0 documentProc	document (リサイズあり)
	     4 noGrowDocProc	document (リサイズなし)
	     8 zoonDocProc	Zoom あり document (リサイズあり)
	    12 zoomNoGrow	Zoom あり document (リサイズあり)

	     1 dBoxProc		ダイアログ用
	     5 movableDBoxProc	移動可能なダイアログ [System 7.0]

	     2 plainDBox	ただの四角
	     3 altDBoxProc	陰付きの四角
	    16 rDocProc		角が丸い（通常は DA 用）
					+0	16 x 16
					+1	 4 x  4
					+2	 6 x  6
					+3	 8 x  8
					+4	10 x 10
					+5	12 x 12
					+6	20 x 20
					+7	24 x 24

	WindowPtr NewWindow(
			void	*wStorage,	WindowRecord の格納先
						(NULL を渡すと NewPtr される)
			Rect	*boundsRect,	表示位置,サイズ(グローバル座標)
			Str255	title,		タイトル文字列
			Boolean	visible,	すぐに表示するかどうか
			short	theProc,	ウインドウタイプ
			WindowPtr behind,	このウインドウの後ろに置く
						  NULL	一番後ろ
						  -1    一番前
			Boolean	goAwayFlag,	GoAray ボックスを表示
			long	refCon);	ユーザー用のデータ

	WindowPtr GetNewWindow(short windowID,
			void	*wStorage,
			WindowPtr behind);

	void	CloseWindow(WindowPtr theWindow);
	void	DisposeWindow(WindowPtr theWindow);

	WindowPtr NewCWindow(void *wStorage, const Rect *boundsRect,
			ConstStr255Param title, Boolean visible, short procID,
			WindowPtr behind, Boolean goAwayFlag, long refCon);
	WindowPtr GetNewCWindow(short windowID, void *wStorage,
			WindowPtr behind);

	short	GetWVariant(WindowPtr theWindow);
/***GetWTitle***/ SetWTitle SetWRefCon GetWRefCon SetWindowPic GetWindowPic WindowManager
GetWTitle(2g)

【名前】
	GetWTitle    - ウインドウタイトルの取得
	SetWTitle    - ウインドウタイトルの設定
	SetWRefCon   - 定義データの設定
	GetWRefCon   - 定義データの取得
	SetWindowPic - ウインドウピクチャーの設定
	GetWindowPic - ウインドウピクチャーの取得

【書式】
	■GetWTitle	I-284
	■SetWTitle	I-284
	■SetWRefCon	I-293
	■GetWRefCon	I-293
	■SetWindowPic	I-293
	■GetWindowPic	I-293

	void	GetWTitle(WindowPtr theWindow, Str255 title);
	void	SetWTitle(WindowPtr theWindow, ConstStr255Param title);

	void	SetWRefCon(WindowPtr theWindow, long data);
	long	GetWRefCon(WindowPtr theWindow);

	void	SetWindowPic(WindowPtr theWindow, PicHandle pic);
	PicHandle	GetWindowPic(WindowPtr theWindow);
/***SelectWindow***/ HideWindow ShowWindow ShowHide HiliteWindow BringToFront SendBehind FrontWindow WindowManager
SelectWindow(2g)

【名前】
	SelectWindow - ウインドウの選択(一番先頭に出す)
	HideWindow   - ウインドウを隠す
	ShowWindow   - ウインドウの表示
	ShowHide     - ウインドウの Show/Hide
	HiliteWindow - ウインドウをハイライトさせる
	BringToFront - ウインドウを一番先頭にする(選択はしない)
	SendBehind   - ウインドウの順番の変更(指定ウインドウの下に)
	FrontWindow  - 一番前のウインドウを返す

【書式】
	■SelectWindow	I-285
	■HideWindow	I-285
	■ShowWindow	I-285
	■ShowHide	I-286
	■HiliteWindow	I-286
	■BringToFront	I-286
	■SendBehind	I-286
	■FrontWindow	I-286

	void	SelectWindow(WindowPtr theWindow);
	void	HideWindow  (WindowPtr theWindow);
	void	ShowWindow  (WindowPtr theWindow);

	void	ShowHide(WindowPtr theWindow, Boolean showFlag);
			showFlag =TRUE	ウインドウを表示
				 =FALSE	ウインドウを隠す
			ハイライトも、イベントも起こさない

	void	HiliteWindow(WindowPtr theWindow, Boolean fHilite);
			fHilite が TRUE ならウインドウをハイライトさせる。

	void	BringToFront(WindowPtr theWindow);
	void	SendBehind(WindowPtr theWindow, WindowPtr behindWindow);

	WindowPtr	FrontWindow(void);
/***FindWindow***/ TrackGoAway TrackBox DragWindow GrowWindow DrawGrowIcon MoveWindow SizeWindow ZoomWindow WindowManager
FindWindow(2g)

【名前】
	FindWindow   - ウインドウのどの部分でマウスが押されたかを取得
	TrackGoAway  - クローズボックスのトラック
	GrowWindow   - サイズを変更するイメージをかく
	DrawGrowIcon - サイズボックスの描画
	SizeWindow   - ウインドウのサイズ変更
	DragWindow   - ウインドウのドラッグ処理(位置の移動)
	MoveWindow   - ウインドウの移動
	TrackBox     - ズームボックスのトラック
	ZoomWindow   - 標準状態とユーザー状態の切り換え

【書式】
	■FindWindow	I-287; V-208
	■TrackGoAway	I-288
	■DrawGrowIcon	I-287
	■DragWindow	I-289
	■GrowWindow	I-289; V-209

	■MoveWindow	I-289; V-209
	■SizeWindow	I-290
	■TrackBox	IV-50
	■ZoomWindow	IV-50; V-210

	short	FindWindow(Point thePoint, WindowPtr *theWindow);
			0  inDesk
			1  inMenuBar
			2  inSysWindow
			3  inContent
			4  inDrag
			5  inGrow
			6  inGoAway
			7  inZoomIn
			8  inZoomOut

	Boolean	TrackGoAway(WindowPtr theWindow, Point thePt);
			戻り値:	TRUE	クローズボックス内で離された
				FALSE	それ以外で離された

	void	DragWindow(WindowPtr theWindow, Point startPt,
						const Rect *boundsRect);

		theWindowのクリックされたポイントを渡すとboundsRectないでドラ
		ッグ処理を行なう

	long	GrowWindow(WindowPtr theWindow, Point startPt,
						const Rect *bBox);
			サイズを変更するイメージをかき、マウスを追従
			   bBox.top    - 最小高
				left   - 最小幅
				bottom - 最大高
				right  - 最大幅
			戻り値:	HiWord	高さ
				LowWord	幅
### グローバル変数に設定すると、１ドット毎でなく動かせる

	void	DrawGrowIcon(WindowPtr theWindow);

	void	MoveWindow(WindowPtr theWindow, short hGlobal, short vGlobal,
								Boolean front);
			ウインドウの grafPort の portRect の左上を指定グロー
			バル座標に移動
				front=TRUE -- アクティブになる

	void	SizeWindow(WindowPtr theWindow, short w, short h,
							Boolean fUpdate);
			portRect の大きさを変更（w=h=0 の場合はなにもしない）
			fUpdate = TRUE --  変更によって生じたリージョンを変える

	Boolean	TrackBox(WindowPtr theWindow, Point thePt, short partCode);
			戻り値:	TRUE	ズームボックス内で離された
				FALSE	それ以外で離された

	void	ZoomWindow(WindowPtr theWindow, short partCode, Boolean front);
			標準状態とユーザー状態を切り換える。それぞれ、
			WindowPtr^^.WStateDate.stdStateとuserState
/***InvalRect***/ InvalRgn ValidRect ValidRgn BeginUpdate EndUpdate WindowManager
InvalRect(2g)

【名前】
	InvalRect   - Rect をアップデートリージョンに繰入れる
	InvalRgn    - Rgn  をアップデートリージョンに繰入れる
	ValidRect   - Rect をアップデートリージョンからとる
	ValidRgn    - Rgn  をアップデートリージョンからとる
	BeginUpdate - ウインドウのアップデートの準備をする
	EndUpdate   - ウインドウのアップデートをおえる

【書式】
	■InvalRect	I-291
	■InvalRgn	I-291
	■ValidRect	I-292
	■ValidRgn	I-292
	■BeginUpdate	I-292
	■EndUpdate	I-293

	void	InvalRect(const Rect *badRect);
	void	InvalRgn(RgnHandle badRgn);
	void	ValidRect(const Rect *goodRect);
	void	ValidRgn(RgnHandle goodRgn);

	void	BeginUpdate(WindowPtr theWindow);
	void	EndUpdate  (WindowPtr theWindow);
/***PinRect***/ DragGrayRgn GetGrayRgn SetDeskCPat DragGrayRgnProcPtr WindowManager
PinRect(2g)

【名前】
	PinRect     -
	DragGrayRgn -
	GetGrayRgn  - 現在のデスクトップ領域の Rgnハンドルの取得
	SetDeskCPat - デスクトップパターンの設定

【書式】
	■PinRect	I-293
	■DragGrayRgn	I-294; V-209
	■GetGrayRgn	V-208
	■SetDeskCPat	V-210

	long	PinRect(const Rect *theRect, Point thePt);
		thePtに一番近いtheRect内のポイントを得る。上位に縦、下位に横

	long	DragGrayRgn(RgnHandle theRgn, Point startPt,
			const Rect *boundsRect, const Rect *slopRect,
			short axis, DragGrayRgnProcPtr actionProc);

			procタイプ   pascal void (*DragGrayRgnProcPtr)(void);

	RgnHandle	GetGrayRgn(void);

	void	SetDeskCPat(PixPatHandle deskPixPat);
/***CheckUpdate***/ ClipAbove SaveOld DrawNew PaintOne PaintBehind CalcVis CalcVisBehind WindowManager
CheckUpdate(2g)

【名前】
	CheckUpdate   - 低レベルウインドウルーチン
	ClipAbove     -
	SaveOld       -
	DrawNew       -
	PaintOne      -
	PaintBehind   -
	CalcVis       -
	CalcVisBehind -

【書式】
	■CheckUpdate	I-296
	■ClipAbove	I-296
	■SaveOld	I-296
	■DrawNew	I-296
	■PaintOne	I-296; V-208
	■PaintBehind	I-297
	■CalcVis	I-297
	■CalcVisBehind	I-297

	Boolean	CheckUpdate(EventRecord *theEvent);
	void	ClipAbove(WindowPeek window);
	void	SaveOld(WindowPeek window);
	void	DrawNew(WindowPeek window, Boolean update);
	void	PaintOne(WindowPeek window, RgnHandle clobberedRgn);
	void	PaintBehind(WindowPeek startWindow, RgnHandle clobberedRgn);
	void	CalcVis(WindowPeek window);
	void	CalcVisBehind(WindowPeek startWindow, RgnHandle clobberedRgn);
#
#
#
/***DialogTemplate***/ DialogManager
DialogTemplate(2g)

【名前】
	DialogTemplate -

【形式】
	■DialogTemplate	I-423
	  DialogTemplate
		Rect	boundsRect;
		short	procID;
		Boolean visible;
		Boolean filler1;
		Boolean goAwayFlag;
		Boolean filler2;
		long	refCon;
		short	itemsID;
		Str255	title;

	  DialogTPtr	DialogTemplate *
	  DialogTHndl	DialogTemplate **
/***DialogRecord***/ DialogPeek StageList DialogPtr DialogManager
DialogRecord(2g)

【名前】
	DialogRecord - ダイアログ data type

【形式】
	■DialogRecord	I-408
	  DialogRecord
		WindowRecord window;
		Handle	items;
		TEHandle textH;
		short	editField;
		short	editOpen;
		short	aDefItem;

	  DialogPeek	DialogRecord *

	■DialogPtr	I-407
	  DialogPtr	WindowPtr

	■StageList	I-424
	  StageList	short
/***NewDialog***/ NewCDialog GetNewDialog CloseDialog DisposDialog CouldDialog FreeDialog SetDAFont ErrorSound SoundProcPtr DialogManager
NewDialog(2g)

【名前】
	NewDialog    - ダイアログの作成
	NewCDialog   - カラーダイアログの作成
	GetNewDialog - 'DLOG' リソースの取得＆表示
	CloseDialog  - スタック上のダイアログを消します
	DisposDialog - ヒープ上のダイアログを消します
	SetDAFont    - 次に出るダイアログのフォントを指定
	ErrorSound   -
	CouldDialog  - [Sys7.0 よりダメ]
	FreeDialog   - [Sys7.0 よりダメ]

【書式】
	■NewDialog	I-412
	■NewCDialog	V-283
	■GetNewDialog	I-413; V-274
	■CloseDialog	I-413
	■DisposDialog	I-415
	■SetDAFont	I-412
	■ErrorSound	I-411
	■CouldDialog	I-415; V-284; ← VI-3-10 で使ってはいけない
	■FreeDialog	I-415; V-285; ← VI-3-10 で使ってはいけない

	DialogPtr NewDialog(void *wStorage, const Rect *boundsRect,
			ConstStr255Param title, Boolean visible, short procID,
			WindowPtr behind, Boolean goAwayFlag, long refCon,
			Handle itmLstHndl);
	DialogPtr NewCDialog(void *dStorage, const Rect *boundsRect,
			ConstStr255Param title, Boolean visible, short procID,
			WindowPtr behind, Boolean goAwayFlag, long refCon,
			Handle items);

		procIDでタイプを、itemsでアイテムリストへのハンドルを指定して
		ください。(NewWindow参照)

	DialogPtr	GetNewDialog(short dialogID, void *dStorage,
				WindowPtr behind);

	void	CloseDialog(DialogPtr theDialog);
	void	DisposDialog(DialogPtr theDialog);
			ヒープ上のダイアログを消します

	void	SetDAFont(short fontNum);

	void	ErrorSound(SoundProcPtr soundProc);

	void	CouldDialog(short dialogID);
	void	FreeDialog(short dialogID);

	■SoundProcPtr
	  pascal void (*SoundProcPtr)(void);
/***ParamText***/ DialogManager
ParamText(2g)

【名前】
	ParamText - 現ダイアログの StaticText の固定文字列を設定

【書式】
	■ParamText	I-422

	void	ParamText(ConstStr255Param param0, ConstStr255Param param1,
			ConstStr255Param param2, ConstStr255Param param3);

		固定文字列の^0,^1,^2,^3と入れ替えさせる
/***ModalDialog***/ ModalFilterProcPtr DialogManager
ModalDialog(2g)

【名前】
	ModalDialog - ダイアログのイベント処理

【書式】
	■ModalDialog	I-415

	void	ModalDialog(ModalFilterProcPtr filterProc, short *itemHit);
			フィルタ関数があるときはfilterProcで指定してください。
			itemHit: イベントの起きたアイテム

	■ModalFilterProcPtr
	  pascal Boolean (*ModalFilterProcPtr)(DialogPtr theDialog,
				EventRecord *theEvent, short *itemHit);
/***IsDialogEvent***/ DialogSelect DialogManager
IsDialogEvent(2g)

【名前】
	IsDialogEvent - イベントがダイアログに向けられたものかチェック
	DialogSelect  - イベントがダイアログのどのアイテムに向けられたか

【書式】
	■IsDialogEvent	I-416
	■DialogSelect	I-417

	Boolean	IsDialogEvent(const EventRecord *theEvent);

		theEventがダイアログに向けられたものならTRUEを返します


	Boolean	DialogSelect(const EventRecord *theEvent, DialogPtr *theDialog,
			short *itemHit);

		theEventがダイアログのイネーブルアイテムにむけられたものなら
		TRUEが返される
/***DrawDialog***/ UpdtDialog DialogManager
DrawDialog(2g)

【名前】
	DrawDialog - ダイアログの再描画
	UpdtDialog - 指定部分の再描画

【書式】
	■DrawDialog	I-418
	■UpdtDialog	IV-60

	void	DrawDialog(DialogPtr theDialog);
		ダイアログの枠線以外を再描画する

	void	UpdtDialog(DialogPtr theDialog, RgnHandle updateRgn);
		updateRgnで指定した部分を再描画する
/***Alert***/ StopAlert NoteAlert CautionAlert CouldAlert FreeAlert ResetAlrtStage AlertTemplate GetAlrtStage DialogManager
Alert(2g)

【名前】
	Alert        - アラートダイアログ処理
	StopAlert    - アラートダイアログ処理(Stop)
	NoteAlert    - アラートダイアログ処理(Note)
	CautionAlert - アラートダイアログ処理(Caution)
	ResetAlrtStage - 最後に実行されたアラートステージのリセット
	GetAlrtStage   - 
	AlertTemplate  - data type
	CouldAlert   - [Sys7.0 よりダメ]
	FreeAlert    - [Sys7.0 よりダメ]

【書式】
	■Alert		I-418; V-284
	■StopAlert	I-419; V-284
	■NoteAlert	I-420; V-284
	■CautionAlert	I-420; V-284
	■ResetAlrtStage I-423
	■GetAlrtStage	??
	■CouldAlert	I-420; V-285 ← VI-3-10 で使ってはいけない
	■FreeAlert	I-420; V-285 ← VI-3-10 で使ってはいけない

	short	Alert(short alertID, ModalFilterProcPtr filterProc);
	short	StopAlert(short alertID, ModalFilterProcPtr filterProc);
	short	NoteAlert(short alertID, ModalFilterProcPtr filterProc);
	short	CautionAlert(short alertID, ModalFilterProcPtr filterProc);

		alertIDで示されるアラートを表示し、アイテムにイベントが起きた
		ところでアラートを閉る

		戻り値: イベントの起きたアイテム番号


	void	ResetAlrtStage(void);
			最後に実行されたアラートのステージをリセットします

	short	GetAlrtStage(void);

	void	CouldAlert(short alertID);
	void	FreeAlert(short alertID);


	■AlertTemplate	I-424

	  AlertTemplate
		Rect	boundsRect;
		short	itemsID;
		StageList stages;

	  AlertTPtr	AlertTemplate *
	  AlertTHndl	AlertTemplate **
/***GetDItem***/ SetDItem HideDItem ShowDItem SelIText GetIText SetIText FindDItem DialogManager
GetDItem(2g)

【名前】
	GetDItem  - アイテム情報の取得
	SetDItem  - アイテム情報の設定
	HideDItem - アイテムを隠す
	ShowDItem - アイテムを出す
	SelIText  -
	GetIText  -
	SetIText  -
	FindDItem - ローカル座標にかかるアイテム番号の取得

【書式】
	■GetDItem	I-421
	■SetDItem	I-421
	■HideDItem	IV-59
	■ShowDItem	IV-59
	■SelIText	I-422
	■GetIText	I-422
	■SetIText	I-422
	■FindDItem	IV-60

	void	GetDItem(DialogPtr theDialog, short itemNo, short *itemType,
						Handle *item, Rect *box);
			theDialogのアイテム番号itemNoのアイテムを返す

	void	SetDItem(DialogPtr theDialog, short itemNo, short itemType,
						Handle item, const Rect *box);
			theDialogのアイテム番号itemNoのアイテムを変える

	void	HideDItem(DialogPtr theDialog, short itemNo);
	void	ShowDItem(DialogPtr theDialog, short itemNo);

	void	SelIText(DialogPtr theDialog, short itemNo, short strtSel,
						short endSel);
	void	GetIText(Handle item, Str255 text);
	void	SetIText(Handle item, ConstStr255Param text);

	short	FindDItem(DialogPtr theDialog, Point thePt);
			thePt(ローカル座標)のかかるアイテム番号を返す
/***DlgCut***/ DlgPaste DlgCopy DlgDelete DialogManager
DlgCut(2g)

【名前】
	DlgCut    - 選択範囲をカット
	DlgPaste  - 選択範囲をペースト
	DlgCopy   - 選択範囲をコピー
	DlgDelete - 選択範囲をクリア

【書式】
	■DlgCut	I-418
	■DlgPaste	I-418
	■DlgCopy	I-418
	■DlgDelete	I-418

	void	DlgCut   (DialogPtr theDialog);
	void	DlgPaste (DialogPtr theDialog);
	void	DlgCopy  (DialogPtr theDialog);
	void	DlgDelete(DialogPtr theDialog);
#
#
#
/***ControlRecord***/ ControlPtr ControlHandle ControlManager
ControlRecord(2g)

【名前】
	ControlRecord - データタイプ

【形式】
	■ControlRecord	I-317
	  ControlRecord
		struct	ControlRecord **nextControl;
		WindowPtr	contrlOwner;
		Rect		contrlRect;
		unsigned char	contrlVis;
		unsigned char	contrlHilite;
		short		contrlValue;
		short		contrlMin;
		short		contrlMax;
		Handle		contrlDefProc;
		Handle		contrlData;
		ProcPtr		contrlAction;
		long		contrlRfCon;
		Str255		contrlTitle;

	  ControlPtr	ControlRecord *
	  ControlHandle	ControlRecord **
/***NewControl***/ GetNewControl DisposeControl KillControls ControlManager
NewControl(2g)

【名前】
	NewControl     - コントロールの作成
	GetNewControl  - コントロールリソース('CNTL')の取得＆表示
	DisposeControl - コントロールの消去＆開放
	KillControls   - 指定ウインドウの全コントロールの解放

【書式】
	■NewControl		I-319
	■GetNewControl		I-321
	■DisposeControl	I-321
	■KillControls		I-321
	■Popup-menu について	VI-3-16

	ControlHandle	NewControl(WindowPtr theWindow, const Rect *boundsRect,
			ConstStr255Param title, Boolean visible, short value,
			short min, short max, short procID, long refCon);
		Valueにハイライトの状態を示します

		o boundsRect	位置, 大きさ
		o title		タイトル名
		o visible	TRUE の場合表示される
		o value		設定値
		o min,max	最小, 最大値 (check,radio = 0,1)
		o procID	タイプ
				0	pushButProc
				1	checkBoxProc
				2	radioButProc
				16	scrollBarProc
				1008	popupMenuProc [Sys7.0 以降]
				その他	自分で作成したもの(詳細: I-328)

				<< 補助情報 >>
				8    useWFont	フォント windowと同じに
						(default: システムフォント)
		o refCon	ユーザーデータ


	ControlHandle	GetNewControl(short controlID, WindowPtr owner);
			コントロールリソースを読み込み、ウインドウに表示

	void	DisposeControl(ControlHandle theControl);
	void	KillControls(WindowPtr theWindow);


	** Popup-Menu コントロール **
		popupFixedWidth		= 1 << 0,
		popupReserved 		= 1 << 1,
		popupUseAddResMenu	= 1 << 2,
		popupUseWFont		= 1 << 3,
		popupTitleBold		= 1 << 8,
		popupTitleItalic	= 1 << 9,
		popupTitleUnderline	= 1 << 10,
		popupTitleOutline	= 1 << 11,
		popupTitleShadow	= 1 << 12,
		popupTitleCondense	= 1 << 13,
		popupTitleExtend	= 1 << 14,
		popupTitleNoStyle	= 1 << 15};

		popupTitleLeftJust = 0x00000000,
		popupTitleCenterJust = 0x00000001,
		popupTitleRightJust = 0x000000FF,
/***DrawControls***/ Draw1Control UpdtControl ControlManager
DrawControls(2g)

【名前】
	DrawControls - コントロールを全て再描画
	Draw1Control - コントロールの１つを再表示
	UpdtControl  - 指定アップデートリージョンコントロールのみ再表示

【書式】
	■DrawControls	I-322
	■Draw1Control	IV-53
	■UpdtControl	IV-53

	void	DrawControls(WindowPtr theWindow);

	void	Draw1Control(ControlHandle theControl);

	void	UpdtControl(WindowPtr theWindow, RgnHandle updateRgn);
/***SetCTitle***/ GetCTitle HideControl ShowControl HiliteControl MoveControl SizeControl SetCtlValue GetCtlValue SetCtlMin GetCtlMin SetCtlMax GetCtlMax SetCRefCon GetCRefCon SetCtlAction GetCtlAction ControlManager
SetCTitle(2g)

【名前】
	SetCTitle     - コントロールタイトルの設定
	GetCTitle     - コントロールタイトルの取得
	HideControl   - コントロールを隠す
	ShowControl   - コントロールを表示
	HiliteControl - コントロールのハイライト属性変更
	MoveControl   - コントロールの移動
	SizeControl   - コントロールのリサイズ
	SetCtlValue   - 値の設定
	SetCtlMin     - min の設定
	SetCtlMax     - max の設定
	GetCtlValue   - 値の取得
	GetCtlMin     - min の取得
	GetCtlMax     - max の取得
	SetCRefCon    - 定義情報の設定
	GetCRefCon    - 定義情報の取得
	SetCtlAction  - アクション手続きを決める
	GetCtlAction  - アクション手続きをえる

【書式】
	■SetCTitle	I-321
	■GetCTitle	I-321
	■HideControl	I-322
	■ShowControl	I-322
	■HiliteControl	I-322
	■MoveControl	I-325
	■SizeControl	I-326
	■SetCtlValue	I-326
	■GetCtlValue	I-326
	■SetCtlMin	I-326
	■GetCtlMin	I-327
	■SetCtlMax	I-327
	■GetCtlMax	I-327
	■SetCRefCon	I-327
	■GetCRefCon	I-327
	■SetCtlAction	I-328
	■GetCtlAction	I-328

	コントロールの状態
		  種別		  0		  1
		---------------+---------------+-----
		Button		Hilight		dark
		Check Box	チェック
		Radio Button	チェック
		その他(scroll)


	void	SetCTitle(ControlHandle theControl, ConstStr255Param title);
	void	GetCTitle(ControlHandle theControl, Str255 title);

	void	HideControl(ControlHandle theControl);
	void	ShowControl(ControlHandle theControl);
			HideControl() すると、コントロールの領域を
			background-pattren で塗り、update region に追加する

	void	HiliteControl(ControlHandle theControl, short hiliteState);

	void	MoveControl(ControlHandle theControl, short h, short v);
	void	SizeControl(ControlHandle theControl, short w, short h);

	void	SetCtlValue(ControlHandle theControl, short theValue);
	short	GetCtlValue(ControlHandle theControl);

	void	SetCtlMin(ControlHandle theControl, short minValue);
	void	SetCtlMax(ControlHandle theControl, short maxValue);
	short	GetCtlMin(ControlHandle theControl);
	short	GetCtlMax(ControlHandle theControl);

	void	SetCRefCon(ControlHandle theControl, long data);
	long	GetCRefCon(ControlHandle theControl);

	void	SetCtlAction(ControlHandle theControl, ProcPtr actionProc);
	ProcPtr	GetCtlAction(ControlHandle theControl);
/***FindControl***/ TrackControl TestControl DragControl ControlManager
FindControl(2g)

【名前】
	FindControl  - マウス座標からコントロールを見つけだす
	TrackControl - マウスの位置で応答処理する
	TestControl  - パートコードの取得
	DragControl  - コントロールをドラッグ

【書式】
	■FindControl	I-323
	■TrackControl	I-323
	■TestControl	I-325
	■DragControl	I-325

	short	FindControl(Point thePoint, WindowPtr theWindow,
			ControlHandle *theControl);
		マウスの押された位置を渡すと、それがどのコントロールに向けら
		れたのかわかります。どれでもないならnilです
			10  inButton
			11  inCheckBox

			20  inUpButton
			21  inDownButton
			22  inPageUp
			23  inPageDown
			129 inThumb

	short	TrackControl(ControlHandle theControl, Point thePoint,
			ProcPtr actionProc);

		マウスの位置で応答処理する
		    actionProcは
			nil	-ハイライトだけ
			ProcPtr	-それにしたがう
				pascal void MyProc(ControlHandle theControl,
						short partCode);
			POINTER(-1)-デフォルト

	short	TestControl(ControlHandle theControl, Point thePt);
			指定座標がそのコントロールのどのパートなのかを調べる

	void	DragControl(ControlHandle theControl, Point startPt,
			const Rect *limitRect, const Rect *slopRect,
			short axis);

		コントロールをドラッグする。引数は、WindowのDragGrayRgnと同じ
/***SetCtlColor***/ GetAuxCtl GetCVariant AuxCtlRec AuxCtlPtr AuxCtlHandle CtlCTab CCTabPtr CCTabHandle ControlManager
SetCtlColor(2g)

【名前】
	SetCtlColor -
	GetAuxCtl   -
	GetCVariant -
	CtlCTab     - データタイプ
	AuxCtlRec   - データタイプ

【書式】
	■SetCtlColor	V-222
	■GetAuxCtl	V-222
	■GetCVariant	V-222

	void	SetCtlColor(ControlHandle theControl,
						CCTabHandle newColorTable);

	Boolean	GetAuxCtl(ControlHandle theControl, AuxCtlHandle *acHndl);

	short	GetCVariant(ControlHandle theControl);

	■CtlCTab	V-218
	  CtlCTab
		long		ccSeed;
		short		ccRider;
		short		ctSize;
		ColorSpec	ctTable[4];
	  CCTabPtr	CtlCTab *
	  CCTabHandle	CtlCTab **

	■AuxCtlRec	V-217
	  AuxCtlRec
		Handle		acNext;
		ControlHandle	acOwner;
		CCTabHandle	acCTable;
		short		acFlags;
		long		acReserved;
		long		acRefCon;
	  AuxCtlPtr	AuxCtlRec *
	  AuxCtlHandle	AuxCtlRec **
#
#
#
/***MenuInfo***/ MenuPtr MenuHandle MenuCRsrc MenuCRsrcPtr MenuCRsrcHandle MenuManager
MenuInfo(2g)

【名前】
	MenuInfo  - データタイプ
	MenuCRsrc - データタイプ

【形式】
	■MenuInfo	I-345; V-230
	  MenuInfo
		short	menuID;
		short	menuWidth;
		short	menuHeight;
		Handle	menuProc;
		long	enableFlags;
		Str255	menuData;
	  MenuPtr	MenuInfo *
	  MenuHandle	MenuInfo **

	■MenuCRsrc	V-234
	  MenuCRsrc
		short	numEntries;
		MCTable mcEntryRecs;
	  MenuCRsrcPtr		MenuCRsrc *
	  MenuCRsrcHandle	MenuCRsrc **
/***NewMenu***/ GetMenu DisposeMenu AppendMenu AddResMenu InsertResMenu MenuManager
NewMenu(2g)

【名前】
	NewMenu       - メニューの作成
	GetMenu       - メニューリソース('MENU')の取得
	DisposeMenu   - メニューのメモリ開放
	AppendMenu    - メニューの最後にDataを付け加える
	AddResMenu    - メニューの最後にリソースを付け加える
	InsertResMenu - メニューの指定位置にリソースを付け加える

【書式】
	■NewMenu	I-351
	■GetMenu	I-351; V-243
	■DisposeMenu	I-352
	■AppendMenu	I-352; V-243
	■AddResMenu	I-353; V-243
	■InsertResMenu	I-353; V-243

	MenuHandle	NewMenu(short menuID, const Str255 menuTitle);
	MenuHandle	GetMenu(short resourceID);
	void		DisposeMenu(MenuHandle theMenu);

	void	AppendMenu(MenuHandle menu, ConstStr255Param data);
		  メニューの最後尾に、Dataを付け加えます。
		  Meta charを参照
			;	アイテムの区切り(または 0x0d)
			^	ICON(1=257 ～ 9=265)
			!	マークを付ける
			<	スタイルの指定
					B Bold
					I Italic
					U Underline
					O Outline
					S Shadow
			/	ショートカットキー
			(	Disable

		  例:	"(Too Much^1<B/T"
			"Undo;(-;Cut"		間に区切り線を入れる

	void	AddResMenu(MenuHandle theMenu, ResType theType);
	void	InsertResMenu(MenuHandle theMenu, ResType theType,
							short afterItem);
		  メニューに現在オープンされているリソースを全て付け加えます
		  	'DRVR'	DAなど
			'FONT'	フォント
/***InsertMenu***/ DrawMenuBar InvalMenuBar DeleteMenu ClearMenuBar GetNewMBar GetMenuBar SetMenuBar MenuManager
InsertMenu(2g)

【名前】
	InsertMenu   - メニューをメニューバーに追加
	DrawMenuBar  - InsertMenu等で追加されたメニューをすべて描画
	DeleteMenu   - メニューバーからメニューを取り除く
	ClearMenuBar - 現メニューバーのクリア
	GetNewMBar   - メニューバーリソース('MBAR')を読込む
	GetMenuBar   - 現メニューバーをコピーし取得
	SetMenuBar   - 現メニューバーの設定
	InvalMenuBar - ??? (IM に載っていない)

【書式】
	■InsertMenu	I-353; V-244
	■DrawMenuBar	I-354; V-244
	■DeleteMenu	I-354; V-244
	■ClearMenuBar	I-354; V-247
	■GetNewMBar	I-354; V-247
	■GetMenuBar	I-355
	■SetMenuBar	I-355
	■InvalMenuBar  ???

	void	InsertMenu(MenuHandle theMenu, short beforeID);
		    beforeID =  0	最後に追加
				0以外	追加するメニューID
				-1	見えない位置に追加
					(階層,PopUp メニュー用)

	void	DrawMenuBar(void);
		    InsertMenu等でリストに乗せられたメニューをすべて描画します

	void	DeleteMenu(short menuID);
		    メニューバーから取り除いたMenuHandleも、再アクセス可能です

	void	ClearMenuBar(void);

	Handle	GetNewMBar(short menuBarID);

	Handle	GetMenuBar(void);
		    現在のメニューバーをコピーし、ハンドルを返します

	void	SetMenuBar(Handle menuList);
		    GetMenuBar,GetNewMBarのメニューを活用するために使用します

	void	InvalMenuBar(void);
/***InsMenuItem***/ DelMenuItem MenuSelect MenuKey HiliteMenu MenuChoice MenuManager
InsMenuItem(2g)

【名前】
	InsMenuItem - メニューアイテムの挿入
	DelMenuItem - メニューアイテムの削除
	MenuSelect  - メニューのマウスによる選択
	MenuKey     - ショートカットキーからメニューの番号を得る
	HiliteMenu  - メニューのハイライト
	MenuChoice  - disable-item のどれが選択されたか調べる

【書式】
	■InsMenuItem	IV-55
	■DelMenuItem	IV-56; V-244
	■MenuSelect	I-356; V-244
	■MenuKey	I-356; V-245
	■HiliteMenu	I-357; V-245
	■MenuChoice	V-240

	void	InsMenuItem(MenuHandle theMenu, ConstStr255Param itemString,
			short afterItem);

		theMenuのafterItemの直後に、itemStringをつなげます。メタキャ
		ラクタでつなぐと、逆順になります

	void	DelMenuItem(MenuHandle theMenu, short item);

	long	MenuSelect(Point startPt);
		  メニューバーの中にイベントが起きたとき、グローバル座標を渡し
		  てください。
			戻り値:	0	キャンセル
				上位ワード	menuID
				下位ワード	itemNo (1～)

	long	MenuKey(short ch);
		  chにコマンドキーと一緒に押されたキーを渡してください。
		  (MenuSelect参照)

	void	HiliteMenu(short menuID);
		  引数が0やそのIDが存在しない場合、慨存のハイライト表示を消す

	long	MenuChoice(void);
		  MenuSelect() が 0 を返した時にコールすると、disable-item の
		  のどこではマウスが離されたかわかる。
			HiWord	menuID
			LoWord	item	(0 = 指定 menuID でキャンセルされた)
/***SetItem***/ GetItem DisableItem EnableItem CheckItem SetItemMark GetItemMark SetItemIcon GetItemIcon SetItemStyle GetItemStyle GetItemCmd SetItemCmd MenuManager
SetItem(2g)

【名前】
	SetItem      - アイテム名の設定
	GetItem      - アイテム名の取得
	DisableItem  - アイテムを使用禁止に
	EnableItem   - アイテムを使用可能に
	CheckItem    - アイテムを check/uncheck する
	SetItemMark  - アイテムの左隣にマークをつける
	GetItemMark  - アイテムの左隣にあるマークを取得
	SetItemIcon  - アイテムの左隣にアイコンを付ける
	GetItemIcon  - アイテムの左隣にあるアイコン番号の取得
	SetItemStyle - アイテムスタイルの設定
	GetItemStyle - アイテムスタイルを取得
	SetItemCmd   - アイテムにサブメニューの設定
	GetItemCmd   - アイテムにサブメニューがついているかチェック

【書式】
	■SetItem	I-357
	■GetItem	I-358
	■DisableItem	I-358; V-246
	■EnableItem	I-358; V-246
	■CheckItem	I-358
	■SetItemMark	I-359; V-246
	■GetItemMark	I-359; V-246
	■SetItemIcon	I-359; V-246
	■GetItemIcon	I-360; V-246
	■SetItemStyle	I-360
	■GetItemStyle	I-360; V-247
	■SetItemCmd	V-246
	■GetItemCmd	V-240

	void	SetItem(MenuHandle theMenu, short item, const Str255 itemStr);
	void	GetItem(MenuHandle theMenu, short item, Str255 itemStr);

	void	DisableItem(MenuHandle theMenu, short item);
	void	EnableItem (MenuHandle theMenu, short item);
			item = 0 の場合、メニュー全体の設定となる
			(注意: DrawMenuBar() でメニューバーの再表示が必要)

	void	CheckItem(MenuHandle theMenu, short item, Boolean checked);
			checked: TRUE  - チェックをつける
				 FALSE - チェックをはずす

	void	SetItemMark(MenuHandle theMenu, short item, short markChar);
	void	GetItemMark(MenuHandle theMenu, short item, short *markChar);
			アイテムの左隣に、markChar をマークします
			アイテムの左隣にあるマークを返します

	void	SetItemIcon(MenuHandle theMenu, short item, short iconIndex);
	void	GetItemIcon(MenuHandle theMenu, short item, short *iconIndex);
			アイテムの左隣に、(icon-256)のIDのアイコンを付けます。
			ID=256のアイコンはできない

	void	SetItemStyle(MenuHandle theMenu, short item, short chStyle);
	void	GetItemStyle(MenuHandle theMenu, short item, Style *chStyle);
			例:	SetItemStyle(myMenu,2, bold|italic);

	void	SetItemCmd(MenuHandle theMenu, short item, short cmdChar);
	void	GetItemCmd(MenuHandle theMenu, short item, short *cmdChar);
			cmdChar = 0x1b --> サブメニューあり

【使用例】
	1) メニューアイテムにサブメニューを設定する
		MenuHandle	theMenu;	メニューハンドル
		short		item;		アイテム番号

		SetItemMark(theMenu, item, 150/* 'MENU' のID */);
		SetItemCmd (theMenu, item, 0x1b);
/***CalcMenuSize***/ CountMItems GetMHandle FlashMenuBar SetMenuFlash InitProcMenu PopUpMenuSelect MenuManager
CalcMenuSize(2g)

【名前】
	CalcMenuSize    - メニューのサイズの計算
	CountMItems     - メニューアイテム数のカウント
	GetMHandle      - メニューリスト中にあるメニューハンドルの取得
	FlashMenuBar    - メニューバーの反転
	SetMenuFlash    - ** マウスコントロールパネル用
	InitProcMenu    -
	PopUpMenuSelect - ポップアップメニューの選択

【書式】
	■CalcMenuSize		I-361
	■CountMItems		I-361
	■GetMHandle		I-361; V-246
	■FlashMenuBar		I-361; V-246
	■SetMenuFlash		I-361
	■InitProcMenu		V-238
	■PopUpMenuSelect	V-241

	void	CalcMenuSize(MenuHandle theMenu);
		  メニューのサイズを計算して、レコード中のフィールドに格納

	short	CountMItems(MenuHandle theMenu);

	MenuHandle	GetMHandle(short menuID);

	void	FlashMenuBar(short menuID);
		  menuID = 0 の場合は全体を反転(２回呼ぶことにより点滅できる)

	void	SetMenuFlash(short count);

	void	InitProcMenu(short resID);

	long	PopUpMenuSelect(MenuHandle menu, short top, short left,
			short popUpItem);
/***GetMCInfo***/ SetMCInfo DispMCInfo GetMCEntry SetMCEntries DelMCEntries MCEntry MCEntryPtr MCTable MCTablePtr MCTableHandle MenuManager
GetMCInfo(2g)

【名前】
	GetMCInfo    -
	SetMCInfo    -
	DispMCInfo   -
	GetMCEntry   -
	SetMCEntries -
	DelMCEntries -
	MCEntry      - データタイプ

【書式】
	■GetMCInfo	V-239
	■SetMCInfo	V-239
	■DispMCInfo	V-239
	■GetMCEntry	V-239
	■SetMCEntries	V-239
	■DelMCEntries	V-238

	MCTableHandle	GetMCInfo(void);

	void	SetMCInfo (MCTableHandle menuCTbl);
	void	DispMCInfo(MCTableHandle menuCTbl);

	MCEntryPtr	GetMCEntry(short menuID, short menuItem);

	void	SetMCEntries(short numEntries, MCTablePtr menuCEntries);

	void	DelMCEntries(short menuID, short menuItem);


	■MCEntry	??
	  MCEntry
		short	mctID;
		short	mctItem;
		RGBColor mctRGB1;
		RGBColor mctRGB2;
		RGBColor mctRGB3;
		RGBColor mctRGB4;
		short	mctReserved;

	  MCEntryPtr	MCEntry *
	  MCTable	MCEntry	[1]
	  MCTablePtr	MCEntry *
	  MCTableHandle	MCEntry **
/***InitLayer***/ NewLayer DisposeLayer GetCurrentLayer SetCurrentLayer SwapCurrentLayer IsLayer GetChildWindows GetRootLayer LayerPtr LayerRecord LayerPeek
InitLayer(2g)

【名前】
	InitLayer	 - Layer Manager の初期化
	NewLayer	 - 新しい Layer の作成
	DisposeLayer	 - Layer の破棄
	GetCurrentLayer	 - カレント Layer の取得
	SetCurrentLayer	 - カレント Layer の設定
	SwapCurrentLayer - カレント Layer の設定をし元の Layer を取得
	IsLayer		 - 指定ポートが Layer かチェック
	GetChildWindows	 - Layer の(先頭の)子ウインドウを取得
	GetRootLayer	 - ルート Layer の取得
	LayerPtr	 - data type
	LayerRecord 	 - data type

【書式】
	■LayerManager	Inside Macintosh に記述なし

	#include "Layers.h"

	void		InitLayers(void);	★この処理は行ってはいけない

	OSErr		NewLayer(LayerPtr* layerRef, Boolean visible,
					Boolean neverActive, WindowPtr behind,
					long refCon);
	void		DisposeLayer(LayerPtr layer);

	LayerPtr	GetCurrentLayer(void);
	void		SetCurrentLayer(LayerPtr layer);
	LayerPtr	SwapCurrentLayer(LayerPtr layer);

	Boolean		IsLayer(GrafPtr port);

	WindowPeek	GetChildWindows(LayerPtr layer);

	LayerPtr	GetRootLayer(void);


	■LayerPtr	GrafPtr

	■LayerRecord
		GrafPort	port;
		short		windowKind;
		Boolean		visible;
		Boolean		reserved1;	Always false.
		Boolean		neverActive;
		Boolean		reserved2;	Always false.
		RgnHandle	strucRgn;
		RgnHandle	contRgn;
		RgnHandle	reservedRgn;	Always valid empty region.
		Handle		windowDefProc;
		LayerPeek	parentLayer;
		AuxWinHandle	auxWindows;
		short		reserved3;	Always zero.
		AuxCtlHandle	auxControls;
		WindowPeek	nextWindow;
		WindowPeek	childWindows;
		long		refCon;
